package org.springblade.modules.admin.enums;

import lombok.AllArgsConstructor;
import lombok.Getter;

/**
 * 群-机器人推送 枚举
 * @author Sharry
 * @since 2023/10/9
 */
@Getter
@AllArgsConstructor
public enum GroupRobotEnum {

	/**
	 * 保养开始
	 */
	MAINTAIN_BEGIN(MaintainPlanContentEnum.MAINTAIN_BY.getId(), TaskStatusEnum.BY_DISABLE.getStatus(),"保养开始"),
	/**
	 * 保养到场
	 */
	MAINTAIN_ARRIVE(MaintainPlanContentEnum.MAINTAIN_BY.getId(), TaskStatusEnum.BY_PROCESSED.getStatus(),"保养到场"),
	/**
	 * 保养退场
	 */
	MAINTAIN_LEAVE(MaintainPlanContentEnum.MAINTAIN_BY.getId(), TaskStatusEnum.BY_FINISH.getStatus(),"保养退场"),
	/**
	 * 保养完成
	 */
	MAINTAIN_FINISH(MaintainPlanContentEnum.MAINTAIN_BY.getId(), TaskStatusEnum.BY_SIGN.getStatus(),"保养完成"),

	/**
	 * 维修派单
	 */
	REPAIR_SEND(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_ALLOCATION.getStatus(),"维修派单"),
	/**
	 * 维修开始
	 */
	REPAIR_BEGIN(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_PENDING.getStatus(),"维修开始"),
	/**
	 * 维修到场
	 */
	REPAIR_ARRIVE(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_TO_START.getStatus(),"维修到场"),
	/**
	 * 维修退场
	 */
	REPAIR_LEAVE(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_UNDER_WAY.getStatus(),"维修退场"),
	/**
	 * 维修完成
	 */
	REPAIR_FINISH(MaintainPlanContentEnum.MAINTAIN_WX.getId(), TaskStatusEnum.WX_SIGN_FINISH.getStatus(),"维修完成"),

	/**
	 * 救援调度中
	 */
	RESCUE_DISPATCH(MaintainPlanContentEnum.MAINTAIN_KR.getId(),TaskStatusEnum.JY_DISPATCH.getStatus(),"救援调度中"),
	/**
	 * 2024-08-13 救援待开始，保留状态枚举
	 */
	RESCUE_TO_START(MaintainPlanContentEnum.MAINTAIN_KR.getId(), TaskStatusEnum.JY_TO_START.getStatus(),"待开始"),
	/**
	 * 救援已出发
	 */
	RESCUE_PROCESSED(MaintainPlanContentEnum.MAINTAIN_KR.getId(), TaskStatusEnum.JY_PROCESSED.getStatus(),"已出发"),
	/**
	 * 救援已到达
	 */
	RESCUE_ARRIVE(MaintainPlanContentEnum.MAINTAIN_KR.getId(), TaskStatusEnum.JY_ARRIVE.getStatus(),"已到达"),
	/**
	 * 救援完成
	 */
	RESCUE_RESCUE(MaintainPlanContentEnum.MAINTAIN_KR.getId(), TaskStatusEnum.JY_RESCUE.getStatus(),"救援完成");

	/**
	 * 状态：复用基础字段，1-维修 2-保养 3-救援
	 */
	final int status;

	/**
	 * 对应数据库表里面的pushType字段，对应 TaskStatusEnum 枚举值
	 */
	final int pushType;

	/**
	 * 描述
	 */
	final String description;


}
